package web

import (
	"encoding/json"

	"gitee.com/xgotool/sqlite-logs-more/service/rootdb"
	"gitee.com/xiaoyutab/xgotool/xgin"
	"gitee.com/xiaoyutab/xgotool/xstring"
	"github.com/gin-gonic/gin"
)

// 设置设备详情信息
//
//	POST	dervice.info.set
func DerviceInfoSet(c *gin.Context) *xgin.Response {
	type temp_struct struct {
		Id    json.Number `json:"id" form:"id" xml:"id"`          // 设备ID
		Name  string      `json:"name" form:"name" xml:"name"`    // 设备名称
		Desc  string      `json:"desc" form:"desc" xml:"desc"`    // 设备描述
		Ip    string      `json:"ip" form:"ip" xml:"ip"`          // 设备IP
		Goos  string      `json:"goos" form:"goos" xml:"goos"`    // 设备系统
		Names string      `json:"names" form:"names" xml:"names"` // 设备中存在的sqlite日志库列表，使用,拼接
	}
	temp := temp_struct{}
	if err := xgin.Bind(c, &temp); err != nil {
		return xgin.Resp().Error(err)
	}
	// 正式变量赋值
	// 请使用param进行参数验证、变量效验等操作
	param := temp
	// 获取设备详情信息
	der := rootdb.Dervice{
		Id: xstring.JInt64(param.Id),
	}
	der.Name = param.Name
	der.Names = param.Names
	der.Desc = param.Desc
	der.Ip = param.Ip
	der.Goos = param.Goos
	err := rootdb.DerviceSet(&der)
	if err != nil {
		return xgin.Resp().Error(err)
	}
	return xgin.Resp().SuccessAny(der)
}
